دسته بندی ها
10:27 1404/11/28

کم کردن حجم فیلم توسط کد در Asp net core

مشخصات سوال کننده :
کاربر : nadimi1359     امتیاز کاربر : 0     رتبه کاربر : 7209
دسته بندی : Asp.net Core Xamarin Form

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 50
هوش مصنوعی

پاسخ هوش مصنوعی

برای کم کردن حجم فیلم هنگام آپلود، می توانید از کتابخانه های JavaScript مانند ffmpeg.js استفاده کنید. این کتابخانه نسخه جاوا اسکریپت کتابخانه FFmpeg است که می تواند به شما کمک کند تا به صورت مستقیم در مرورگر ویدیو را فشرده کنید.

در اینجا یک مثال ساده برای آپلود و فشرده سازی ویدیو با استفاده از ffmpeg.js آورده شده است:


// ابتدا باید FFmpeg.js را به پروژه خود اضافه کنید
// می توانید آن را از طریق CDN اضافه کنید
// 

async function compressVideo(file) {
    const { createFFmpeg, fetchFile } = FFmpeg;
    const ffmpeg = createFFmpeg({ log: true });

    await ffmpeg.load();
    ffmpeg.FS('writeFile', 'input.mp4', await fetchFile(file));
    await ffmpeg.run('-i', 'input.mp4', '-vcodec', 'libx264', '-crf', '28', 'output.mp4');
    const data = ffmpeg.FS('readFile', 'output.mp4');
    
    // تبدیل خروجی به Blob و ساخت یک URL
    const videoBlob = new Blob([data.buffer], { type: 'video/mp4' });
    const videoUrl = URL.createObjectURL(videoBlob);
    
    // در اینجا می توانید URL را برای پیش نمایش یا آپلود به سرور استفاده کنید
    console.log(videoUrl);
}

// استفاده از تابع compressVideo
// فرض بر این است که یک ورودی فایل داریم
document.getElementById('upload').addEventListener('change', (event) => {
    const file = event.target.files[0];
    if (file) {
        compressVideo(file);
    }
});

شما همچنین می توانید از تنظیمات مختلف FFmpeg برای بهینه سازی ویدیو استفاده کنید. پارامترهای -crf برای کنترل کیفیت ویدیو است (مقدار کمتر یعنی کیفیت بالاتر و حجم بیشتر).

همچنین توجه داشته باشید که این روش ممکن است در مرورگرهای مختلف زمان بر باشد و ممکن است نیاز به منابع سیستمی بالایی داشته باشد. بنابراین، می توانید برای کاهش بار بر روی مرورگر کاربر، این فرایند را به سمت سرور منتقل کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 18:28 1404/11/28

کاهش حجم فیلم در Asp.net core

برای این منظور شما میتونید از نرم افزار ffmpeg استفاده کنید. این نرم افزار یک ابزار ساده است که برای ویرایش فایل های ویدیویی در هر بستری استفاده میشه. البته دقت کنید که برای اینکه توسط این نرم افزار به صورت آنلاین استفاده کنید باید این نرم افزار رو روی سرور خودتون نصب کنید. البته همونطوری که در پاسخ هوش مصنوعی اشاره شده ffmpeg دارای پلاگین جاوااسکریپتی هم هست که بدون نیاز به نصب نرم افزار میشه تغییراتی رو درون فیلم اعمال کرد.

سعی میکنم یک نرم افزار کاربردی برای کم کردن حجم فیلم ها به همراه سورس کد ایجاد کنم و در سایت برای استفاده قرار بدیم. اگر سوال دیگه ای در این مورد دارید در خدمتتون هستم.

ویرایش شده در چهارشنبه 29 بهمن 1404 ساعت 00:21:33
به این پاسخ امتیاز بدهید    0
امتیاز: 1669 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود